package com.datoucai.utils;

import com.alibaba.fastjson.JSON;
import com.datoucai.dto.CommentExtendDto;
import com.datoucai.dto.CommentInfoDto;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;

/**
 * @Date：2024/9/6 17:37
 */
@Slf4j
public class CommentExtendUtils {
    public static String getRepliedUsernameOnExtend(String extend) {
        if(StringUtils.isBlank(extend)){
            return null;
        }
        try {
            CommentExtendDto commentExtendDto = JSON.parseObject(extend, CommentExtendDto.class);
            return commentExtendDto.getRepliedUsername();
        } catch (Exception e) {
            log.error("被回复用户名-解析评论扩展信息异常",e);
            return null;
        }
    }
    public static String getRepliedUserIdOnExtend(String extend) {
        if(StringUtils.isBlank(extend)){
            return null;
        }
        try {
            CommentExtendDto commentExtendDto = JSON.parseObject(extend, CommentExtendDto.class);
            return commentExtendDto.getRepliedUserId();
        } catch (Exception e) {
            log.error("被回复用户Id-解析评论扩展信息异常",e);
            return null;
        }
    }

    public static String getAvatarOnExtend(String extend) {
        if(StringUtils.isBlank(extend)){
            return null;
        }
        try {
            CommentExtendDto commentExtendDto = JSON.parseObject(extend, CommentExtendDto.class);
            return commentExtendDto.getAvatar();
        } catch (Exception e) {
            log.error("头像-解析评论扩展信息异常",e);
            return null;
        }
    }
    public static String getUsernameOnExtend(String extend) {
        if(StringUtils.isBlank(extend)){
            return null;
        }
        try {
            CommentExtendDto commentExtendDto = JSON.parseObject(extend, CommentExtendDto.class);
            return commentExtendDto.getUsername();
        } catch (Exception e) {
            log.error("用户名-解析评论扩展信息异常",e);
            return null;
        }
    }

    /**
     * 构建拓展信息
     * @param dto
     * @return
     */
    public static String buildExtend(CommentInfoDto dto) {
        if(dto==null){
            return null;
        }
        CommentExtendDto commentExtendDto = new CommentExtendDto();
        commentExtendDto.setUsername(dto.getUsername());
        commentExtendDto.setAvatar(dto.getAvatar());
        commentExtendDto.setRepliedUsername(dto.getRepliedUsername());
        commentExtendDto.setRepliedUserId(dto.getRepliedUserId());
        return JSON.toJSONString(commentExtendDto);
    }
}
